The disclosure relates generally to branch predictions, and more specifically, to tagging target branch predictors with context with index modification and late stop fetch on tag mismatch.
In general, branch predictors often share information across contexts (i.e. threads and privilege levels (e.g. user code vs. kernel code)). Sharing information across contexts is often disadvantageous as branches in code can be unrelated and as prediction information created for a branch in one context is unlikely to correctly predict a branch in a different context, which results in mispredictions that cost processor performance and power. The disadvantages of mispredictions are especially apparent for branch target predictions where there is little constructive aliasing between contexts.